/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cx1.service.api;

import java.util.List;
import org.cx1.model.Featured;
import org.cx1.model.FeaturedList;
import org.cx1.model.Listing;
import org.cx1.model.utils.SearchOption;
import org.cx1.model.utils.ServiceResponse;

/**
 *
 * @author ECH
 */
public interface IFeaturedService {
            
    public ServiceResponse<List<Listing>> randomFeaturedListings(String city, String termType, int max, SearchOption option);
    
    public ServiceResponse<List<Listing>> randomFeaturedListings(String city, String termType, int max);
    
    public ServiceResponse<List<Featured>> randomFeatured(String city, String termType, int max);
            
    public ServiceResponse<Boolean> checkMaxReached(String city, String termType);
    
    public ServiceResponse<Boolean> checkExisting(String listingID, String city, String termType);
    
    public ServiceResponse<Boolean> checkListingValid(String listingID);
    
    
    public ServiceResponse<String> create(Featured featured);
        
    public ServiceResponse<List<Featured>> readAll(int offset, int limit);
    
    public ServiceResponse<List<Featured>> readAll(String city, String termType, int offset, int limit);
    
    public ServiceResponse<Boolean> delete(String id);
    
    
    
    public ServiceResponse<List<FeaturedList>> readAllFeaturedList(int offset, int limit);
    
    public ServiceResponse<String> createFeaturedList(String id, FeaturedList featuredList);
    
    public ServiceResponse<Boolean> deleteFeaturedList(String id);
    
}
